home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / wais / waisgate / HTTCP.h < prev    next >
C/C++ Source or Header  |  1995-05-09  |  3KB  |  107 lines

  1. /*                               /Net/dxcern/userd/timbl/hypertext/WWW/Library/src/HTTCP.html
  2.                                GENERIC TCP/IP COMMUNICATION
  3.                                              
  4.    This module has the common code for handling TCP/IP connections etc.
  5.    
  6.  */
  7. #ifndef HTTCP_H
  8. #define HTTCP_H
  9.  
  10. #include "HTUtils.h"
  11.  
  12. #include "tcp.h"
  13.  
  14. #ifdef SHORT_NAMES
  15. #define HTInetStatus            HTInStat
  16. #define HTInetString            HTInStri
  17. #define HTParseInet             HTPaInet
  18. #endif
  19.  
  20.  
  21. /*      Produce a string for an internet address
  22. **      ---------------------------------------
  23. **
  24. ** On exit:
  25. **           returns a pointer to a static string which must be copied if
  26. **                it is to be kept.
  27. */
  28. #ifdef __STDC__
  29.         extern const char * HTInetString(struct sockaddr_in* sin);
  30. #else
  31.         extern char * HTInetString();
  32. #endif
  33.  
  34.  
  35. /*      Encode INET status (as in sys/errno.h)                    inet_status()
  36. **      ------------------
  37. **
  38. ** On entry:
  39. **              where gives a description of what caused the error
  40. **      global errno gives the error number in the unix way.
  41. **
  42. ** On return:
  43. **      returns a negative status in the unix way.
  44. */
  45. #ifdef __STDC__
  46.         extern int HTInetStatus(char *where);
  47. #else
  48.         extern int HTInetStatus();
  49. #endif
  50.  
  51. /*      Publicly accessible variables
  52. */
  53. /* extern struct sockaddr_in HTHostAddress; */
  54.                         /* The internet address of the host */
  55.                         /* Valid after call to HTHostName() */
  56.  
  57.  
  58. /*      Parse a cardinal value                                 parse_cardinal()
  59. **      ----------------------
  60. **
  61. ** On entry:
  62. **      *pp points to first character to be interpreted, terminated by
  63. **      non 0..9 character.
  64. **      *pstatus points to status already valid,
  65. **      maxvalue gives the largest allowable value.
  66. **
  67. ** On exit:
  68. **      *pp points to first unread character,
  69. **      *pstatus points to status updated iff bad
  70. */
  71.  
  72. extern unsigned int HTCardinal PARAMS((int *pstatus,
  73.                 char            **pp,
  74.                 unsigned int    max_value));
  75.  
  76.  
  77. /*      Parse an internet node address and port
  78. **      ---------------------------------------
  79. **
  80. ** On entry:
  81. **               str points to a string with a node name or number,
  82. **               with optional trailing colon and port number.
  83. **               sin points to the binary internet or decnet address field.
  84. **
  85. ** On exit:
  86. **               *sin is filled in. If no port is specified in str, that
  87. **               field is left unchanged in *sin.
  88. */
  89. #ifdef __STDC__
  90.         extern int HTParseInet(struct sockaddr_in * sin, CONST char * str);
  91.         /*!! had to change this to get it to compile. CTB */
  92. #else
  93.         extern int HTParseInet();
  94. #endif
  95.  
  96. /*      Get Name of This Machine
  97. **      ------------------------
  98. **
  99. */
  100.  
  101. extern CONST char * HTHostName NOPARAMS;
  102.  
  103. #endif   /* HTTCP_H */
  104. /*
  105.  
  106.    End.  */
  107.